-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[gui] Add RTreeMap #19731
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
[gui] Add RTreeMap #19731
Conversation
Test Results 21 files 21 suites 3d 11h 45m 42s ⏱️ For more details on these failures, see this check. Results for commit ab807f9. ♻️ This comment has been updated with latest results. |
3bce25d
to
cde8a6a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
6443168
to
ab807f9
Compare
Some changes I made:
|
|
||
// clang-format off | ||
/** | ||
\class ROOT::Experimental::RTreeMapBase |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we planning any test for these classes? Is there any 'how to use' documentation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A brief tutorial would be nice to have indeed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a brief tutorial in RTreeMapPainter.hxx
how to visualize an RNTuple in a TCanvas as a treemap
1bee8b5
to
3b19020
Compare
3b19020
to
cd1ae96
Compare
|
||
One can visualize an RNTuple in a TCanvas as a treemap like this: | ||
~~~ {.cpp} | ||
auto tm = RTreeMapPainter::Import("file.root", "ntuple_name"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RTreeMapPainter::Import
fails if the 2 string arguments do not describe a ROOT file and a RNTuple it contains. However nothing in the name nor signature give any hint? Completely related, how would the interface be extended to 'TreeMap' other entities (for example a TTree
or the entire TFile
)?
auto tm = RTreeMapPainter::Import("file.root", "ntuple_name"); | |
auto tm = RTreeMapPainter::ImportRNTuple("file.root", "ntuple_name"); |
or
auto tm = RTreeMapPainter::Import("file.root", "ntuple_name"); | |
auto tm = RTreeMap::PaintRNTuple("file.root", "ntuple_name"); |
or
auto tm = RTreeMapPainter::Import("file.root", "ntuple_name"); | |
auto tm = RTreeMapPainter::ChartRNTuple("file.root", "ntuple_name"); |
or
auto tm = RTreeMapPainter::Import("file.root", "ntuple_name"); | |
auto tm = RTreeMapPainter::MapRNTuple("file.root", "ntuple_name"); |
or even drop this method entirely and keep just:
std::unique_ptr<RTreeMapPainter> RTreeMapPainter::GenerateFrom(const ROOT::Experimental::RNTupleInspector &insp)
leading to:
auto insp = RNTupleInspector::Create(tupleName, sourceFileName);
auto tm = RTreeMapPainter::GenerateFrom(*insp);
auto c = new TCanvas("c_tm","TreeMap");
c->Add(tm.release());
This Pull request:
Changes or fixes:
This PR adds a new directory
treemap
in/gui/
with the following features:TVirtualPad
CMakeLists.txt
that makes this a root libraryROOTTreeMap
ROOTTreeMapv7
?LinkDef.h
so that the treemap structure can be encoded to JSON for use in JSChecklist: